// 知识点1：构造函数初始化对象的非static数据成员，析构函数释放对象所使用资源，并销毁对象的非static数据成员

// 知识点2：形式：波浪号加类名

// 知识点3：构造函数中，成员初始化是在函数体执行之前完成的，且按照他们在类内出现的顺序进行初始化，析构函数中，首先执行函数体，然后销毁成员，成员按照初始化顺序的逆序销毁，所以析构函数可以执行设计者想要的任何收尾工作，再销毁成员

// 知识点4：成员的销毁完全依赖于其本身的类型，类类型需要执行自身的析构函数，而内置类型则什么也不做(无析构函数)

// 知识点5：调用析构函数的情况：

// 1：变量离开作用域时被销毁

// 2：当对象被销毁，其成员被销毁

// 3：容器被销毁，成员被销毁

// 4：动态分配的对象，指针被delete时

// 5：临时对象，创建的完整表达式结束时

// 知识点6：合成析构函数—编译器自动生成的析构函数，基本上为空，或者被用来阻止对象被销毁

// 知识点7：析构函数体自身并不直接销毁成员，是在析构函数体执行完毕之后隐式的析构阶段中被销毁的

// 见知识点